package javaBase.nowcoder.HJ41_A_称砝码;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
import java.util.stream.Collector;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/*
现有n种砝码，重量互不相等，分别为 m1,m2,m3…mn ；
每种砝码对应的数量为 x1,x2,x3...xn 。现在要用这些砝码去称物体的重量(放在同一侧)，问能称出多少种不同的重量。

input:
2
1 2
2 1
output:
5
说明：
可以表示出0，1，2，3，4五种重量。

* */
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        Integer num = Integer.parseInt(br.readLine());
        HashSet<Integer> set = new HashSet<>();
        set.add(0);
        //List<Integer> type = Arrays.stream(br.readLine().split(" ")).map(Integer::parseInt).collect(Collectors.toList());
        //List<Integer> type_num = Arrays.stream(br.readLine().split(" ")).map(Integer::parseInt).collect(Collectors.toList());
        int[] type_weight = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
        int[] type_num = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
        for (int i = 0; i < num; i++) {
            ArrayList<Integer> integerArrayList = new ArrayList<>(set);
            for (int j = 0; j <= type_num[i]; j++) {
                for (int k = 0; k < integerArrayList.size(); k++) {
                    set.add(integerArrayList.get(k) + type_weight[i] * j);
                }
            }
        }
        System.out.println(set.size());
    }
}
